% -*- coding: utf-8 -*-
% !TEX program = lualatex
\documentclass[oneside]{book}

\input{manual.sty}
\CodeHigh{lite}
\setcounter{chapter}{3}

\begin{document}

% \chapter{Use Long Tables}
\chapter{长表格}
\label{chap:long}

% \section{A Simple Example}
\section{简单示例}

% 预定义的\verb!longtblr!环境能够实现跨页表格的排版。
% 也可以为任何环境使用\verb![long]!表格选项，如\verb!\begin{booktabs}[long]...\end{booktabs}!。

% In fact, to make a decent long table with header and footer, it is better to separate header/footer as
% \underline{table head/foot} (which includes caption, footnotes, continuation text)
% and \underline{row head/foot} (which includes some rows of the table that should appear in every page).
% By this approach, alternating row colors should work as expected.
在排版有表头和表尾的长表格时，最好将表头/表尾分开设计为%
\underline{题注/尾注}(包括标题、表注、说明、续表文本)和%
\underline{标题行/尾行}(每一页都重复出现的行)。%
例如，通过这种办法，交替对各行使用有不同颜色，就可以实现``斑马色''表格。%

\NewTblrTheme{fancy}{
  \SetTblrStyle{firsthead}{font=\bfseries}
  \SetTblrStyle{firstfoot}{fg=blue2}
  \SetTblrStyle{middlefoot}{\itshape}
  \SetTblrStyle{caption-tag}{red2}
}
% \begin{longtblr}[
%   theme = fancy,
%   caption = {A Long Long Long Long Long Long Long Table},
%   entry = {Short Caption},
%   label = {tblr:test},
%   note{a} = {It is the first footnote.},
%   note{$\dag$} = {It is the second long long long long long long footnote.},
%   remark{Note} = {Some general note. Some general note. Some general note.},
%   remark{Source} = {Made up by myself. Made up by myself. Made up by myself.},
% ]{
\begin{longtblr}[
  theme = fancy,
  caption = {一个长长长长长长长长长的表格},
  entry = {短标题},
  label = {tblr:test},
  note{a} = {第一个表注。},
  note{$\dag$} = {第二个长长长长长长长的表注。},
  remark{注意} = {一些常规说明，一些常规说明，一些常规说明。},
  remark{来源} = {自力更生，自力更生，自力更生。},
]{
  colspec = {XXX}, width = 0.85\linewidth,
  rowhead = 2, rowfoot = 1,
  row{odd} = {gray9}, row{even} = {brown9},
  row{1-2} = {purple7}, row{Z} = {blue7},
}
\hline
 Head    & Head  & Head    \\
\hline
 Head    & Head  & Head    \\
\hline
 Alpha   & Beta  & Gamma   \\
\hline
 Epsilon & Zeta\TblrNote{a}       & Eta    \\
\hline
 Iota    & Kappa\TblrNote{$\dag$} & Lambda \\
\hline
 Nu      & Xi    & Omicron \\
\hline
 Rho     & Sigma & Tau     \\
\hline
 Phi     & Chi   & Psi     \\
\hline
 Alpha   & Beta  & Gamma   \\
\hline
 Epsilon & Zeta  & Eta     \\
\hline
 Iota    & Kappa & Lambda  \\
\hline
 Nu      & Xi    & Omicron \\
\hline
 Rho     & Sigma & Tau     \\
\hline
 Phi     & Chi   & Psi     \\
\hline
 Alpha   & Beta  & Gamma   \\
\hline
 Epsilon & Zeta  & Eta     \\
\hline
 Iota    & Kappa & Lambda  \\
\hline
 Nu      & Xi    & Omicron \\
\hline
 Rho     & Sigma & Tau     \\
\hline
 Phi     & Chi   & Psi     \\
\hline
 Alpha   & Beta  & Gamma   \\
\hline
 Epsilon & Zeta  & Eta     \\
\hline
 Iota    & Kappa & Lambda  \\
\hline
 Nu      & Xi    & Omicron \\
\hline
 Rho     & Sigma & Tau     \\
\hline
 Phi     & Chi   & Psi     \\
\hline
 Alpha   & Beta  & Gamma   \\
\hline
 Epsilon & Zeta  & Eta     \\
\hline
 Iota    & Kappa & Lambda  \\
\hline
 Nu      & Xi    & Omicron \\
\hline
 Rho     & Sigma & Tau     \\
\hline
 Phi     & Chi   & Psi     \\
\hline
 Alpha   & Beta  & Gamma   \\
\hline
 Epsilon & Zeta  & Eta     \\
\hline
 Iota    & Kappa & Lambda  \\
\hline
 Nu      & Xi    & Omicron \\
\hline
 Rho     & Sigma & Tau     \\
\hline
 Phi     & Chi   & Psi     \\
\hline
 Alpha   & Beta  & Gamma   \\
\hline
 Epsilon & Zeta  & Eta     \\
\hline
 Iota    & Kappa & Lambda  \\
\hline
 Nu      & Xi    & Omicron \\
\hline
 Rho     & Sigma & Tau     \\
\hline
 Phi     & Chi   & Psi     \\
\hline
 Alpha   & Beta  & Gamma   \\
\hline
 Epsilon & Zeta  & Eta     \\
\hline
 Iota    & Kappa & Lambda  \\
\hline
 Nu      & Xi    & Omicron \\
\hline
 Rho     & Sigma & Tau     \\
\hline
 Phi     & Chi   & Psi     \\
\hline
 Alpha   & Beta  & Gamma   \\
\hline
 Epsilon & Zeta  & Eta     \\
\hline
 Iota    & Kappa & Lambda  \\
\hline
 Nu      & Xi    & Omicron \\
\hline
 Rho     & Sigma & Tau     \\
\hline
 Phi     & Chi   & Psi     \\
\hline
 Alpha   & Beta  & Gamma   \\
\hline
 Epsilon & Zeta  & Eta     \\
\hline
 Iota    & Kappa & Lambda  \\
\hline
 Nu      & Xi    & Omicron \\
\hline
 Rho     & Sigma & Tau     \\
\hline
 Phi     & Chi   & Psi     \\
\hline
 Alpha   & Beta  & Gamma   \\
\hline
 Epsilon & Zeta  & Eta     \\
\hline
 Iota    & Kappa & Lambda  \\
\hline
 Nu      & Xi    & Omicron \\
\hline
 Rho     & Sigma & Tau     \\
\hline
 Phi     & Chi   & Psi     \\
\hline
Alpha   & Beta  & Gamma   \\
\hline
 Epsilon & Zeta  & Eta     \\
\hline
 Iota    & Kappa & Lambda  \\
\hline
 Nu      & Xi    & Omicron \\
\hline
 Rho     & Sigma & Tau     \\
\hline
 Phi     & Chi   & Psi     \\
\hline
 Alpha   & Beta  & Gamma   \\
\hline
 Epsilon & Zeta  & Eta     \\
\hline
 Iota    & Kappa & Lambda  \\
\hline
 Nu      & Xi    & Omicron \\
\hline
 Rho     & Sigma & Tau     \\
\hline
 Phi     & Chi   & Psi     \\
\hline
 Alpha   & Beta  & Gamma   \\
\hline
 Epsilon & Zeta  & Eta     \\
\hline
 Iota    & Kappa & Lambda  \\
\hline
 Nu      & Xi    & Omicron \\
\hline
 Rho     & Sigma & Tau     \\
\hline
 Phi     & Chi   & Psi     \\
\hline
Alpha   & Beta  & Gamma   \\
\hline
Epsilon & Zeta  & Eta     \\
\hline
Iota    & Kappa & Lambda  \\
\hline
Nu      & Xi    & Omicron \\
\hline
Rho     & Sigma & Tau     \\
\hline
Phi     & Chi   & Psi     \\
\hline
 Foot    & Foot  & Foot    \\
\hline
\end{longtblr}

% As you can see in the above example, the appearance of long tables of \verb!tabularray! package
% is similar to that of \verb!threeparttable! and \verb!threeparttablex! packages.
% We support table footnotes, but not page footnotes in \verb!tabularray! package.
显然，\verb!Tabularray!宏包中的长表格
与 \verb!threeparttablex!宏包排版的表格类似，
并且\verb!Tabularray! 支持表格尾注。
注意，表格尾注并不是页面脚注。

\newpage

% The source code for the above long table is shown below. It is mainly self-explanatory.
上述表格的\LaTeX{}源代码如下，该源码具备足够的自明性。

\begin{codehigh}
\NewTblrTheme{fancy}{
  \SetTblrStyle{firsthead}{font=\bfseries}
  \SetTblrStyle{firstfoot}{fg=blue2}
  \SetTblrStyle{middlefoot}{\itshape}
  \SetTblrStyle{caption-tag}{red2}
}
\begin{longtblr}[
  theme = fancy,
  caption = {一个长长长长长长长长长的表格},
  entry = {短标题},
  label = {tblr:test},
  note{a} = {第一个表注。},
  note{$\dag$} = {第二个长长长长长长长的表注。},
  remark{注意} = {一些常规说明，一些常规说明，一些常规说明。},
  remark{来源} = {自力更生，自力更生，自力更生。},
]{
  colspec = {XXX}, width = 0.85\linewidth,
  rowhead = 2, rowfoot = 1,
  row{odd} = {gray9}, row{even} = {brown9},
  row{1-2} = {purple7}, row{Z} = {blue7},
}
\hline
 Head    & Head  & Head    \\
\hline
 Head    & Head  & Head    \\
\hline
 Alpha   & Beta  & Gamma   \\
\hline
 Epsilon & Zeta\TblrNote{a}       & Eta    \\
\hline
 Iota    & Kappa\TblrNote{$\dag$} & Lambda \\
\hline
 Nu      & Xi    & Omicron \\
\hline
 Rho     & Sigma & Tau     \\
\hline
......
\hline
 Nu      & Xi    & Omicron \\
\hline
 Rho     & Sigma & Tau     \\
\hline
 Phi     & Chi   & Psi     \\
\hline
 Foot    & Foot  & Foot    \\
\hline
\end{longtblr}
\end{codehigh}

% As you can see in the above code, we typeset long tables with \verb!longtblr! environment.
% And we can totally separate contents and styles of long tables with \verb!tabularray! package.
在\verb!Tabularray!宏包中，\verb!longtblr! 环境用于排版跨页长表格，
并完全实现了表格样式与内容分离。

% Row head and row foot consist of some lines of the table and should appear in every page.
% Their options are inner specifications and should be put in the mandatory argument of the \verb!longtblr! environment.
% In the above example, We set \verb!rowhead=2! and \verb!rowfoot=1!.
标题行和尾行是出现在每页的表格行，它们由表格中指定的行构成。
需要通过 \verb!longtblr! 环境的必选参数中的内部参数指定标题行和尾行。
例如，上述代码中，分别通过 \verb!rowhead=2! 和 \verb!rowfoot=1! 指定了标题行和尾行。

% \begin{spectblr}[
%   caption = {Inner Specifications for Row Heads and Row Foots}
% ]{}
%   Key Name    & Key Description & Initial Value \\
%   \V{rowhead} & number of the first rows of the table appear in every page & \V{0} \\
%   \V{rowfoot} & number of the last rows of the table appear in every page  & \V{0} \\
% \end{spectblr}
\begin{spectblr}[
  caption = {标题行和尾行内部参数}
]{}
  键    & 含义 & 初始值 \\
  \V{rowhead} & 每页要显示的标题行行数，从表格的起始行开始向后计数 & \V{0} \\
  \V{rowfoot} & 每页要显示的尾行行数，从表格最后一行开始向前计数  & \V{0} \\
\end{spectblr}

% Table head and table foot consist of the caption, continuation text, footnotes and remarks.
% Their options are outer specifications and should be put in the optional argument of the \verb!longtblr! environment.
表格题注和尾注由标题、表注、说明和续表文本构成。
需要通过 \verb!longtblr! 环境可选参数中的外部参数指定题注和尾注。
%
% \begin{spectblr}[
%   caption = {Outer Specifications for Table Heads and Table Foots}
% ]{verb}
%   Key Name            & Key Description & Initial Value \\
%   \V{headsep}         & vertical space between table head and table body & \V{6pt} \\
%   \V{footsep}         & vertical space between table foot and table body & \V{6pt} \\
%   \V{presep}          & vertical space between table head and the above text & \verb!1.5\bigskipamount! \\
%   \V{postsep}         & vertical space between table foot and the below text & \verb!1.5\bigskipamount! \\
%   \V{theme}           & table theme (including settings for templates and styles) & \None \\
%   \V{caption}         & table caption & \None \\
%   \V{entry}           & short table caption to be put in List of Tables & \None \\
%   \V{label}           & table label & \None \\
%   \V{note\{<name>\}}   & table note with \V{<name>} as tag & \None \\
%   \V{remark\{<name>\}} & table remark with \V{<name>} as tag & \None \\
% \end{spectblr}
\begin{spectblr}[
  caption = {表格题注和尾注外部参数}
]{verb}
  Key Name                  & Key Description& Initial Value \\
  \V{headsep}         & 表格题注与表格之间的垂直间距 & \V{6pt} \\
  \V{footsep}         & 表格尾注与表格之间的垂直间距 & \V{6pt} \\
  \V{presep}          & 表格题注与其之前文本之间的垂直间距 & \verb!1.5\bigskipamount! \\
  \V{postsep}         & 表格尾注与其之后文本之间的垂直间距 & \verb!1.5\bigskipamount! \\
  \V{theme}           & 表格主题 (包括模板及样式设置) & \None \\
  \V{caption}         & 表格标题 & \None \\
  \V{entry}           & 用于目录的表格短标题 & \None \\
  \V{label}           & 表格标签 & \None \\
  \V{note\{<name>\}}   & 表格表注，其中 \V{<name>} 是表注标签 & \None \\
  \V{remark\{<name>\}} & 表格说明，其中 \V{<name>} 是说明标签 & \None \\
\end{spectblr}

% If you write \verb!entry=none!, \verb!tabularray! package will not add an entry in List of Tables.
% Therefore \verb!caption=text,entry=none! is similar to \verb!\caption[]{text}! in \verb!longtable!.
如果使用了 \verb!entry=none!，则不会表格目录中添加任何条目。
因此，\verb!caption=text,entry=none! 与 \verb!longtable!
中的 \verb!\caption[]{text}! 的功能类似。

% If you write \verb!label=none!, \verb!tabularray! package will not step \verb!table! counter,
% and set the \verb!caption-tag! and \verb!caption-sep! elements (see below) to empty.
% Therefore \verb!caption=text,entry=none,label=none! is similar to \verb!\caption*{text}!
% in \verb!longtable!, except for the counter.

如使用了 \verb!label=none!, \verb!Tabularray! 宏包的 \verb!table! 计数器将不自增，
并会将 \verb!caption-tag! 和 \verb!caption-sep! 模板元素置空(见后续示例)。
因此， \verb!caption=text,entry=none,label=none! 除了计数器处理外，
与 \verb!longtable! 宏包的 \verb!\caption*{text}! 功能类似。

% \section{Customize Templates}
\section{个性化模板}

% \subsection{Overview of Templates}
\subsection{模板概述}

% The template system for table heads and table foots in \verb!tabularray! is largely inspired
% by \verb!beamer!, \verb!caption! and \verb!longtable! packages. For elements in Table \ref{tblr:element},
% you can use \verb!\DefTblrTemplate! to define and modify templates,
% and use \verb!\SetTblrTemplate! to choose default templates. In defining templates,
% you can include other templates with \verb!\UseTblrTemplate! and \verb!\ExpTblrTemplate! commands.

\verb!Tabularry!的题注和尾注模板系统的设计主要受\verb!beamer!、
\verb!caption! 和 \verb!longtable! 宏包的启发。
可以使用 \verb!\DefTblrTemplate! 命令\footnote{从2022A版开始，
\texttt{\string\DefTblrTemplate} 的另一个名称是 \texttt{\string\DeclareTblrTemplate}。}
定义或修改一个模板，
用 \verb!\SetTblrTemplate! 命令选择默认模板。
在定义模板时，可以用 \verb!\UseTblrTemplate! 和 \verb!\ExpTblrTemplate! 命令引入其它模板。

% \begin{spectblr}[
%   caption = {Templates for Table Heads and Table Foots}
% ]{}
%   Element Name     & Element Description and Default Template \\
%   \V{contfoot-text}& continuation text in the foot, normally ``Continued on next page'' \\
%   \V{contfoot}     & continuation paragraph in the foot, normally including \V{contfoot-text} template \\
%   \V{conthead-text}& continuation text in the head, normally ``(Continued)'' \\
%   \V{conthead}     & continuation paragraph in the head, normally including \V{conthead-text} template \\
%   \V{caption-tag}  & caption tag, normally like ``Table 4.2'' \\
%   \V{caption-sep}  & caption separator, normally like ``:\quad'' \\
%   \V{caption-text} & caption text, normally using user provided value \\
%   \V{caption}      & including \V{caption-tag} + \V{caption-sep} + \V{caption-text} \\
%   \V{note-tag}     & note tag, normally using user provided value \\
%   \V{note-sep}     & note separator, normally like ``\enskip'' \\
%   \V{note-text}    & note tag, normally using user provided value \\
%   \V{note}         & including \V{note-tag} + \V{note-sep} + \V{note-text} \\
%   \V{remark-tag}   & remark tag, normally using user provided value \\
%   \V{remark-sep}   & remark separator, normally like ``:\enskip'' \\
%   \V{remark-text}  & remark text, normally using user provided value\\
%   \V{remark}       & including \V{remark-tag} + \V{remark-sep} + \V{remark-text} \\
%   \V{firsthead}    & table head on the first page, normally including \V{caption} template \\
%   \V{middlehead}   & table head on middle pages, normally including \V{caption} and \V{conthead} templates \\
%   \V{lasthead}     & table head on the last page, normally including \V{caption} and \V{conthead} templates \\
%   \V{head}         & setting all of \V{firsthead}, \V{middlehead} and \V{lasthead} \\
%   \V{firstfoot}    & table foot on the first page, normally including \V{contfoot} template \\
%   \V{middlefoot}   & table foot on middle pages, normally including \V{contfoot} template \\
%   \V{lastfoot}     & table foot on the last page, normally including \V{note} and \V{remark} templates \\
%   \V{foot}         & setting all of \V{firstfoot}, \V{middlefoot} and \V{lastfoot} \\
% \end{spectblr}
\begin{spectblr}[
  caption = {题注和尾注模板元素}
]{}
  元素名称    & 元素说明和默认模板 \\
  \V{contfoot-text}& 表格在每页尾部的续表文本，一般是 ``Continued on next page'' \\
  \V{contfoot}     & 表格在每页尾部的续表段落, 一般包括 \V{contfoot-text} 模板 \\
  \V{conthead-text}& 表格在每页标题中的续表文本, 一般是 ``(Continued)'' \\
  \V{conthead}     & 表格在每页标题中的续表段落, 一般包括 \V{conthead-text} 模板 \\
  \V{caption-tag}  & 标题标签, 一般类似 ``表 4.2'' \\
  \V{caption-sep}  & 标题分隔符, 一般类似 ``:\quad'' \\
  \V{caption-text} & 标题文本, 一般由用户提供内容 \\
  \V{caption}      & 包括 \V{caption-tag} + \V{caption-sep} + \V{caption-text}的组合 \\
  \V{note-tag}     & 尾注标签, 一般由用户提供 \\
  \V{note-sep}     & 尾注分隔符, 一般类似 ``\enskip'' \\
  \V{note-text}    & 尾注内容，一般由用户提供 \\
  \V{note}         & 包括 \V{note-tag} + \V{note-sep} + \V{note-text}的组合 \\
  \V{remark-tag}   & 注释标签, 一般由用户提供 \\
  \V{remark-sep}   & 注释分隔符, 一般类似 ``:\enskip'' \\
  \V{remark-text}  & 注释文本, 一般由用户提供\\
  \V{remark}       & 包括 \V{remark-tag} + \V{remark-sep} + \V{remark-text}的组合 \\
  \V{firsthead}    & 第一页的表头, 一般包括 \V{caption} 模板 \\
  \V{middlehead}   & 中间页的表头，一般包括 \V{caption} 和 \V{conthead} 模板 \\
  \V{lasthead}     & 最后一页的表头，一般包括 \V{caption} 和 \V{conthead} 模板 \\
  \V{head}         & \V{firsthead}、 \V{middlehead} 和 \V{lasthead}的所有设置 \\
  \V{firstfoot}    & 第一页的表尾, 一般包括 \V{contfoot} 模板 \\
  \V{middlefoot}   & 中间页的表尾，一般包括 \V{contfoot} 模板 \\
  \V{lastfoot}     & 最后一页的表尾, 一般包括 \V{note} 和 \V{remark} 模板 \\
  \V{foot}         & \V{firstfoot}、\V{middlefoot} 和 \V{lastfoot}的所有设置 \\
\end{spectblr}

% An element which only includes short text is called a \underline{sub element}.
% Normally there is one \verb!-! in the name of a sub element.
% An element which includes one or more paragraphs is called a \underline{main element}.
% Normally there isn't any \verb!-! in the name of a main element.
仅包含短文本的元素称为\underline{子元素}。
一般在子元素的名称中有一个\verb!-!符号。
包含一个或多个段落的元素称为\underline{主元素}.
通常，在主元素的名称中不包含\verb!-!符号。

% For each of the above elements, two templates \verb!normal! and \verb!empty! are always defined.
% You can select one of them with \verb!\SetTblrTemplate! command.
除了上述模板，\verb!Tabularray! 预定义了\verb!normal! 和 \verb!empty! 两个模板。
可以使用 \verb!\SetTblrTemplate! 命令进行选择。

\subsection{续表模板}

% Let us have a look at the code for defining templates of continuation text first:
首先是续表文本的模板定义：

\begin{codehigh}
\DefTblrTemplate{contfoot-text}{normal}{Continued on next page}
\SetTblrTemplate{contfoot-text}{normal}
\DefTblrTemplate{conthead-text}{normal}{(Continued)}
\SetTblrTemplate{conthead-text}{normal}
\end{codehigh}

% In the above code, command \verb!\DefTblrTemplate! defines the templates with name \verb!normal!,
% and then command \verb!\SetTblrTemplate! sets the templates with name \verb!normal! as default.
% The \verb!normal! template is always defined and set as default for any element in \verb!tabularray!.
% Therefore you had better use another name when defining new templates.
在以上代码中， \verb!\DefTblrTemplate! 命令定义了名为 \verb!normal! 的模板，
然后用 \verb!\SetTblrTemplate! 命令将名为 \verb!normal! 的模板设置为默认模板。
\verb!normal! 模板总是被定义的，并且会被 \verb!Tabularray! 设置为任何一个元素的默认模板。
因此，在定义一个新模板时，需要使用其它名称。

% If you use \verb!default! as template name in \verb!\DefTblrTemplate!,
% you define and set it as default at the same time.
% Therefore the above code can be written in another way:
如果在\verb!\DefTblrTemplate!命令中使用 \verb!default! 作为模板名称，
则会在定义时同时将其设置为默认模板。
因此，上述代码也可以修改为：

\begin{codehigh}
\DefTblrTemplate{contfoot-text}{default}{Continued on next page}
\DefTblrTemplate{conthead-text}{default}{(Continued)}
\end{codehigh}

% You may modify the code to customize continuation text to fit your needs.
可以通过修改这些代码以适应自己的需求。

% The templates for \verb!contfoot! and \verb!conthead! normally
% include the templates of their sub elements with \verb!\UseTblrTemplate! commands.
% But you can also handle user settings such as horizontal alignment here.
\verb!contfoot! 和 \verb!conthead! 模板一般使用 \verb!\UseTblrTemplate! 命令包含
它们子元素的模板。
但是，可以使用诸如水平对齐等设置参数。

\begin{codehigh}
\DefTblrTemplate{contfoot}{default}{\UseTblrTemplate{contfoot-text}{default}}
\DefTblrTemplate{conthead}{default}{\UseTblrTemplate{conthead-text}{default}}
\end{codehigh}

\subsection{标题模板}

% Normally a caption consists of three parts, and their templates are defined with the follow code:
通常，标题由三部分构成，可以用如下代码定义其模板：

\begin{codehigh}
\DefTblrTemplate{caption-tag}{default}{Table\hspace{0.25em}\thetable}
\DefTblrTemplate{caption-sep}{default}{:\enskip}
\DefTblrTemplate{caption-text}{default}{\InsertTblrText{caption}}
\end{codehigh}

% The command \verb!\InsertTblrText{caption}! inserts the value of \verb!caption! key,
% which you could write in the optional argument of \verb!longtblr! environment.
\verb!\InsertTblrText{caption}! 命令使用 \verb!caption! 键值作为标题内容，
在\verb!longtblr!环境的可选参数中，可以通过caption键设置标题内容。

% The \verb!caption! template normally includes three sub templates with \verb!\UseTblrTemplate! commands:
% The \verb!caption! template will be used in \verb!firsthead! template.
\verb!caption! 模板通常用 \verb!\UseTblrTemplate! 插入三个子模板：
\verb!caption! 模板将被用于 \verb!firsthead! 模板。

\begin{codehigh}
\DefTblrTemplate{caption}{default}{
  \UseTblrTemplate{caption-tag}{default}
  \UseTblrTemplate{caption-sep}{default}
  \UseTblrTemplate{caption-text}{default}
}
\end{codehigh}

% Furthermore \verb!capcont! template includes \verb!conthead! template as well.
% The \verb!capcont! template will be used in \verb!middlehead! and \verb!lasthead! templates.
当然，\verb!capcont! 模板也包含 \verb!conthead! 模板。
\verb!capcont! 模板也被用于 \verb!middlehead! 和 \verb!lasthead! 模板。

\begin{codehigh}
\DefTblrTemplate{capcont}{default}{
  \UseTblrTemplate{caption-tag}{default}
  \UseTblrTemplate{caption-sep}{default}
  \UseTblrTemplate{caption-text}{default}
  \UseTblrTemplate{conthead-text}{default}
}
\end{codehigh}

% \subsection{Note and Remark Templates}
\subsection{表注和说明模板}

% The templates for table notes can be defined like this:
表注模板可以按如下方式定义：

\begin{codehigh}
\DefTblrTemplate{note-tag}{default}{\textsuperscript{\InsertTblrNoteTag}}
\DefTblrTemplate{note-sep}{default}{\space}
\DefTblrTemplate{note-text}{default}{\InsertTblrNoteText}
\end{codehigh}
\begin{codehigh}
\DefTblrTemplate{note}{default}{
  \MapTblrNotes{
    \noindent
    \UseTblrTemplate{note-tag}{default}
    \UseTblrTemplate{note-sep}{default}
    \UseTblrTemplate{note-text}{default}
    \par
  }
}
\end{codehigh}

% The \verb!\MapTblrNotes! command loops for all table notes,
% which are written in the optional argument of \verb!longtblr! environment.
% Inside the loop, you can use \verb!\InsertTblrNoteTag! and \verb!\InsertTblrNoteText!
% commands to insert current note tag and note text, respectively.
\verb!\MapTblrNotes! 命令用于遍历所有表格的表注，
这些表注在 \verb!longtblr! 环境的可选参数中设置。
在遍历中，可以分别通过 \verb!\InsertTblrNoteTag! 命令 \verb!\InsertTblrNoteText!
插入当前标签和表注文本。

% The definition of remark templates are similar to note templates.
注释模板的定义与表注模板的定义类似。
\nopagebreak
\begin{codehigh}
\DefTblrTemplate{remark-tag}{default}{\InsertTblrRemarkTag}
\DefTblrTemplate{remark-sep}{default}{:\space}
\DefTblrTemplate{remark-text}{default}{\InsertTblrRemarkText}
\end{codehigh}
\begin{codehigh}
\DefTblrTemplate{remark}{default}{
  \MapTblrRemarks{
    \noindent
    \UseTblrTemplate{remark-tag}{default}
    \UseTblrTemplate{remark-sep}{default}
    \UseTblrTemplate{remark-text}{default}
    \par
  }
}
\end{codehigh}

% \subsection{Head and Foot Templates}
\subsection{表头和表尾模板}

% The templates for table heads and foots are defined as including other templates:
表格的表头和表尾模板被定义为包含其它模板：

\begin{codehigh}
\DefTblrTemplate{firsthead}{default}{
  \UseTblrTemplate{caption}{default}
}
\DefTblrTemplate{middlehead,lasthead}{default}{
  \UseTblrTemplate{capcont}{default}
}
\DefTblrTemplate{firstfoot,middlefoot}{default}{
  \UseTblrTemplate{contfoot}{default}
}
\DefTblrTemplate{lastfoot}{default}{
  \UseTblrTemplate{note}{default}
  \UseTblrTemplate{remark}{default}
}
\end{codehigh}

% Note that you can define the same template for multiple elements in \verb!\DefTblrTemplate! command.
注意，可以在 \verb!\DefTblrTemplate! 命令中为多个元素定义同一个模板。
% If you only want to show table caption in the first page, you may change the definitions of
% \verb!middlehead! and \verb!lasthead! elements:
如果仅仅需要在第一页显示caption，则可以通过修改
\verb!middlehead! 和 \verb!lasthead! 的定义实现:

\begin{codehigh}
\DefTblrTemplate{middlehead,lasthead}{default}{
  \UseTblrTemplate{conthead}{default}
}
\end{codehigh}

% \section{Change Styles}
\section{改变样式}

% All available keys for template elements are described in Table \ref{key:element}.
模板元素的有效设置详见表 \ref{key:element}.

% \begin{spectblr}[
%   caption = {Keys for the Styles of Elements},
%   label = {key:element},
%   remark{Note} = {In most cases, you can omit the underlined key names and write only their values.
%                   The keys \K{halign}, \K{indent} and \K{hang} are only for main templates.}
% ]{}
%   Key Name               & Key Description \\
%   \underline{\K{fg}}     & foreground color \\
%   \underline{\K{font}}   & font commands \\
%   \underline{\K{halign}} & horizontal alignment: \V{l} (left), \V{c} (center), or \V{r} (right) \\
%   \K{indent}             & parindent value \\
%   \K{hang}               & hangindent value \\
% \end{spectblr}
\begin{spectblr}[
  caption = {元素的样式},
  label = {key:element},
  remark{注意} = {多数情况下，可以省略带下划线的键名而仅给出键值。
                  \K{halign}、 \K{indent} 和 \K{hang} 仅对主模板有效。}
]{}
    键               & 含义  & 初始值 \\
  \underline{\K{fg}}     & 前景颜色 & \None \\
  \underline{\K{font}}   & 字体命令    & \None \\
  \underline{\K{halign}}
     & 水平对齐方式：\V{l} (left)、 \V{c} (center)、 \V{r} (right) 或 \V{j} (justify)
                                            & \V{j} \\
  \K{indent}             & 段落缩进值  & \V{0pt} \\
  \K{hang}               & 悬挂缩进值 & \V{0pt} or \V{0.7em} \\
\end{spectblr}

% You may change the styles of elements with \verb!\SetTblrStyle! command:
可以使用 \verb!\SetTblrStyle! 命令改变元素的样式：

\begin{codehigh}
\SetTblrStyle{firsthead}{font=\bfseries}
\SetTblrStyle{firstfoot}{fg=blue2}
\SetTblrStyle{middlefoot}{\itshape}
\SetTblrStyle{caption-tag}{red2}
\end{codehigh}

% When you write \verb!\UseTblrTemplate{element}{default}! in defining a template,
% beside including template code of the \verb!element!, the foreground color and font commands
% of the \verb!element! will be set up automatically.
% In contrast, \verb!\ExpTblrTemplate{element}{default}! will only include template code.
在模板定义中，当使用 \verb!\UseTblrTemplate{element}{default}! 时，
除了包含模板\verb!element!代码外， 会自动设置模板\verb!element! 的前景颜色和字体命令。
相反， \verb!\ExpTblrTemplate{element}{default}! 将仅包含模板代码。


% \section{Define Themes}
\section{定义主题}

% You may define your own themes for table heads and foots with \verb!\NewTblrTheme! command.
% a theme consists of some template and style settings. For example:
可以使用 \verb!\NewTblrTheme! 命令定义表头与表尾的样式主题。
一个主题由模板和样式设置组成，例如：
\nopagebreak
\begin{codehigh}
\NewTblrTheme{fancy}{
  \DefTblrTemplate{conthead}{default}{[Continued]}
  \SetTblrStyle{firsthead}{font=\bfseries}
  \SetTblrStyle{firstfoot}{fg=blue2}
  \SetTblrStyle{middlefoot}{\itshape}
  \SetTblrStyle{caption-tag}{red2}
}
\end{codehigh}

% After defining the theme \verb!fancy!, you can use it
% by writing \verb!theme=fancy! in the optional argument of \verb!longtblr! environment.
定义了 \verb!fancy! 主题后，在以在 \verb!longtblr! 环境的可选参数中
使用 \verb!theme=fancy! 使用该主题。

% \section{Control Page Breaks}
\section{分页控制}

% Just like \verb!longtable! package, inside \verb!longtblr! environment,
% you can use \verb!\\*! or \verb!\nopagebreak! to prohibit a page break,
% and use \verb!\pagebreak! to force a page break.
像 \verb!longtable! 宏包一样，在 \verb!longtblr! 环境中，
可以使用 \verb!\\*! 或 \verb!\nopagebreak!
禁用分页，用 \verb!\pagebreak! 实现强制分页。

% \section{Floatable Tall Tables}
\section{可浮动长表格(talltblr)}

% There is also a \verb!talltblr! environment as an alternative to \verb!threeparttable! environment.
% It can not cross multiple pages, but it can be put inside \verb!table! environment.
%
\verb!Tabularray! 宏包提供了 \verb!talltblr! 环境，以替代 \verb!threeparttable! 环境。
该环境不可跨页，但可以用于 \verb!table! 环境中。
% \begin{demohigh}
% TEXT\begin{talltblr}[
%   caption = {Long Long Long Long Tabular},
%   entry = {Short Caption},
%   label = {tblr:tall},
%   note{a} = {It is the first footnote.},
%   note{$\dag$} = {It is the second long long long long long long footnote.},
% ]{
%   colspec = {XXX}, width = 0.5\linewidth, hlines,
% }
%   Alpha   & Beta  & Gamma \\
%   Epsilon & Zeta  & Eta\TblrNote{a} \\
%   Iota    & Kappa & Lambda\TblrNote{$\dag$} \\
% \end{talltblr}TEXT
% \end{demohigh}
%
\begin{demohigh}
TEXT\begin{talltblr}[
  caption = {长长长长长长长长的表格},
  entry = {短标题},
  label = {tblr:tall},
  note{a} = {第一个表注。},
  note{$\dag$} = {第二个长长长长长长长的表注。},
]{
  colspec = {XXX}, width = 0.5\linewidth, hlines,
}
  Alpha   & Beta  & Gamma \\
  Epsilon & Zeta  & Eta\TblrNote{a} \\
  Iota    & Kappa & Lambda\TblrNote{$\dag$} \\
\end{talltblr}TEXT
\end{demohigh}
%
\section{移除长表格题注和尾注}

在\verb!Tabularray! 宏包提供的 \verb!longtblr! 和 \verb!talltblr! 环境中，
可以使用 \verb!\SetTblrTemplate{head,foot}{empty}! 移除长表格的题注和尾注
\footnote{原说明书无此说明，译者在此根据其github的issus和discussions添加。}。

例如，可以移除表\ref{tblr:tall}的题注。
%
\begin{demohigh}
\SetTblrTemplate{head,foot}{empty}
TEXT\begin{talltblr}[
  caption = {长长长长长长长长的表格},
  entry = {短标题},
  label = {tblr:removetallcaption},
  note{a} = {第一个表注。},
  note{$\dag$} = {第二个长长长长长长长的表注。},
]{
  colspec = {XXX}, width = 0.5\linewidth, hlines,
}
  Alpha   & Beta  & Gamma \\
  Epsilon & Zeta  & Eta\TblrNote{a} \\
  Iota    & Kappa & Lambda\TblrNote{$\dag$} \\
\end{talltblr}TEXT
\end{demohigh}

\end{document}
